var windex = parent.layer.getFrameIndex(window.name);
var optionData = []; //选项值,保存自定义属性
$(function() {
	//初始化iCheck的checkbox(选择器需要排除bootstrap-swicth的元素,以防止影响其样式)
	$('input[type="checkbox"]:not([name="coperateFlag"])').iCheck({checkboxClass: 'icheckbox_square-green'});	
	//初始化iCheck的radio
	$('input[type="radio"]').iCheck({radioClass: 'iradio_square-green'});
	
	//*****************************人员信息START***********************************/
    //保存人员信息
    $('#btnSave').on('click', function(){
    	$("#customerInfoForm").submit();
    	return false;
    })
    //取消
    $('#btnCancel').on('click', function(){
   		parent.$('#layer_opt_status').val('0'); 
   		parent.layer.close(windex);
    })
    //校验并提交人员信息
	checkAndSubmitCustomerInfo();
	//*****************************人员信息END*************************************/
	
    //*****************************扩展信息START***********************************/
	//点击新增自定义属性事件
	$('#btnAdd_customField').on('click', function(){
		$('#layer_opt_status').val(''); 
		var url = rootPath + '/customerCustomField/toSelectCustomerCustomField';
		showDialogUrl('新增', 600, 350, url, function(index){
			var optStatus = $('#layer_opt_status').val();
			if (optStatus == '1') {
				var fieldId = $('#tmpFieldId').val();
				var fieldType = $('#tmpFieldType').val();
				var fieldName = $('#tmpFieldName').val();
				var fieldValue = $('#tmpFieldValue').val();
				var option = {"fieldId": fieldId, "fieldType": fieldType, "fieldName": fieldName, "fieldValue":fieldValue};
				if (sys.Array.getIndex(optionData, option) > -1) return;
				optionData.push(option); 
				initCustomerExternalTable(optionData);
			}
			layer.close(index);
		})
	})
	//初始化自定义属性表格
	if ($('#id').val()) {
		$.ajax({
			type: 'POST',
			url: rootPath + '/customerExternal/listCustomerExternal',
			data: {customerId: $('#id').val()},
			dataType: 'json',
			success: function(data){
				if (data) {
					for (var i = 0; i < data.length; i++) {  
						var option = {
								"fieldId"	: data[i].fieldId.toString(), 
								"fieldType"	: data[i].customerCustomFieldInfo.fieldType.toString(), 
								"fieldName"	: data[i].customerCustomFieldInfo.fieldName.toString(), 
								"fieldValue": data[i].fieldValue.toString()
								};
						optionData.push(option);
					}
					initCustomerExternalTable(optionData);
				}
			}
		})
	} else {
		initCustomerExternalTable(optionData);
	}
	//*****************************扩展信息END*************************************/
});

/**
 * 校验并提交人员信息 
 */
function checkAndSubmitCustomerInfo(){
	$("#customerInfoForm").validate({
		rules : {
			mobile : {
				required : true,
				mobile: true,
				minlength : 1,
				maxlength : 20
			},
			userName : {
				required : true,
				minlength : 1,
				maxlength : 20
			},
			qqNumber : {
				number: true,
				minlength : 3,
				maxlength : 20
			},
			wechat : {
				number: true,
				minlength : 3,
				maxlength : 20
			},
			email : {
				email: true 
			},
		},
		messages : {
			mobile : {
				required : '请填写手机号',
				minlength : '手机号至少3个字符',
				maxlength : '手机号至少20个字符'
			},
			userName : {
				required : '请填写姓名',
				minlength : '姓名至少3个字符',
				maxlength : '姓名至少20个字符'
			},
			qqNumber : {
				minlength : 'QQ至少3个字符',
				maxlength : 'QQ至少20个字符'
			},
			wechat : {
				minlength : '微信至少3个字符',
				maxlength : '微信至少20个字符'
			},
		},
		errorPlacement : function(error, element) { // 错误信息位置设置方法
			var tagName = $(element).is("select");
			if(!tagName) {
				error.insertAfter(element);
			}else {
				error.insertAfter(element.parent().next());
			}
		},
		submitHandler : function(form) {
			if ($('input[name="defaultFlag"]').is(":checked")) {
				$('input[name="defaultFlag"]').val("1");
			} else {
				$('input[name="defaultFlag"]').val("0");
			}
			$(form).ajaxSubmit({
				type		: 'post',
				data		: {options: JSON.stringify(optionData)},
				timeout		: 5000, 
				success		: function(json){ 
					if (json.code == '1') {
						parent.$('#layer_opt_status').val('1'); 
				   		parent.layer.close(windex);
					} else if(json.code == '-1'){ 
						parent.$('#layer_opt_status').val('-1'); 
						showErr("手机号已存在!");
					} else { 
						parent.$('#layer_opt_status').val('0'); 
						showErr("保存失败!");
					}
				}
			}); 
		}
	});
}


/**
 * 初始化自定义属性表格 
 */
function initCustomerExternalTable(data) {
	// 定义列
	var columns = [
		{
			field : 'no',
			title : '序号',
			align : 'left',
			valign: 'middle',
			formatter : function(value, row, index) {
				return index + 1;
			}
		},
		{
			field : 'fieldName',
			title : '属性名称 ',
			align : 'center',
			valign: 'middle',
		},
		{
			field : 'fieldValue',
			title : '属性值 ',
			align : 'center',
			valign: 'middle',
		},
/*		{
			field : 'fieldType',
			title : '属性类型 ',
			align : 'center',
			valign: 'middle',
			formatter : function(value, row, index) {
				if (value == "1") {
					return "文本";
				} else if (value == "2") {
					return "单选";
				} else if (value == "3") {
					return "多选";
				} 
			}
		},*/
		{
			field: '#',
			title: '操作',
			align : 'center',
			formatter: function(value, row, index) {
				return '<a href="#" class="btn btn-warning btn-xs" onclick="editPropertyRow(\''+row.fieldId+'\',\''+row.fieldType+'\',\''+row.fieldName+'\',\''+row.fieldValue+'\')" >编辑<a> &nbsp;'
					+ ' <a href="#" class="btn btn-danger btn-xs" onclick="removePropertyRow(\''+row.fieldId+'\',\''+row.fieldType+'\',\''+row.fieldName+'\',\''+row.fieldValue+'\')" >删除<a>';
			}
		}];
			
			
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
		};
	};
	
	sys.initTable('customerExternalTable', {
		data : data || [],
		queryParams : queryParams,
		pagination: false,
		columns : columns,
		striped : true,
		clickToSelect : true
	});
}

/**
 * 编辑扩展属性行 
 * @param fieldId		字段ID
 * @param fieldType 	字段类型
 * @param fieldName		字段名称
 * @param fieldValue	字段值
 */
function editPropertyRow(fieldId, fieldType, fieldName, fieldValue) {
	var option = {"fieldId": fieldId, "fieldType": fieldType, "fieldName": fieldName, "fieldValue":fieldValue};
	var arrIndex = sys.Array.getIndex(optionData, option); 
	$('#layer_opt_status').val(''); 
	var url = rootPath + '/customerCustomField/toSelectCustomerCustomField?fieldId='+fieldId+'&fieldType='+fieldType+'&fieldName='+fieldName+'&fieldValue='+fieldValue;
	showDialogUrl('编辑', 600, 350, url, function(index){
		var optStatus = $('#layer_opt_status').val();
		if (optStatus == '1') {
			var fieldId = $('#tmpFieldId').val();
			var fieldType = $('#tmpFieldType').val();
			var fieldName = $('#tmpFieldName').val();
			var fieldValue = $('#tmpFieldValue').val();
			var option = {"fieldId": fieldId, "fieldType": fieldType, "fieldName": fieldName, "fieldValue":fieldValue};
			optionData[arrIndex] = option; 
			initCustomerExternalTable(optionData);
		}
		layer.close(index);
	})
}

/**
 * 删除扩展属性行 
 * @param fieldId		字段ID
 * @param fieldType 	字段类型
 * @param fieldName		字段名称
 * @param fieldValue	字段值
 */
function removePropertyRow(fieldId, fieldType, fieldName, fieldValue) {  
	var option = {"fieldId": fieldId, "fieldType": fieldType, "fieldName": fieldName, "fieldValue":fieldValue};
	sys.Array.remove(optionData, option); 
	initCustomerExternalTable(optionData);
}





